from ui import ImageProcessorUI
from .base import ImageProcessor
from PIL import Image, ImageOps

class GrayscaleProcessor(ImageProcessor):
    def process(self, image: Image.Image, **kwargs) -> Image.Image:
        """
        将输入的图像转换为灰度图像。
        参数:
        - image: Image.Image，输入的图像对象，应为PIL库中的Image类型。
        - **kwargs: 允许函数接受任意额外的关键字参数，这里未使用，但提供了灵活性。
        返回:
        - Image.Image，转换后的灰度图像对象。
        """
        return ImageOps.grayscale(image)

    def get_ui_parameters(self, ui: "ImageProcessorUI") -> dict:
        return {}